﻿#define _CRT_SECURE_NO_WARNINGS

#include <iostream>
#include <string>

using namespace std;

//int main(int argc, char* argv[])
//{
//
//	string a = "hello world";
//
//	string b = a;
//
//	cout << a.c_str() << endl;
//	cout << b.c_str() << endl;
//
//	if (strcmp(a.c_str() , b.c_str()))
//
//	{
//
//		cout << "true" << endl;
//
//	}
//
//	else cout << "false" << endl;
//
//	string c = b;
//
//	c = "";
//
//	if (a.c_str() == b.c_str())
//
//	{
//
//		cout << "true" << endl;
//
//	}
//
//	else cout << "false" << endl;
//
//	a = "";
//
//	if (a.c_str() == b.c_str())
//
//	{
//
//		cout << "true" << endl;
//
//	}
//
//	else cout << "false" << endl;
//
//	return 0;
//
//
//}

//int main()
//{
//	string s1("hello");
//
//	s1.reserve(100);
//	s1.reserve(20);
//
//	cout << s1.capacity() << endl;
//
//	return 0;
//}

//int main(int argc, char* argv[])
//{
//
//	string strText = "How are you?";
//
//	string strSeparator = " ";
//
//	string strResult;
//
//	int size_pos = 0;
//
//	int size_prev_pos = 0;
//
//	while ((size_pos = strText.find_first_of(strSeparator, size_pos)) != string::npos)
//	{
//
//		strResult = strText.substr(size_prev_pos, size_pos - size_prev_pos);
//
//		cout << strResult << " ";
//
//		size_prev_pos = ++size_pos;
//
//	}
//
//	if (size_prev_pos != strText.size())
//
//	{
//
//		strResult = strText.substr(size_prev_pos, size_pos - size_prev_pos);
//
//		cout << strResult << " ";
//
//	}
//
//	cout << endl;
//
//	return 0;
//
//}

//int mian()
//{
//	string s1("hello world");
//
//	string::iterator it1 = s1.begin();
//
//	s1 + 1;
//
//	return 0;
//}

//class Solution {
//public:
//    string reverseWords(string s) {
//        int slow = 0;
//        int fast = slow + 1;
//
//
//        while (fast < s.size())
//        {
//            while (fast < s.size() && s[fast] != ' ')
//                fast++;
//
//
//            int left = slow, right = fast - 1;
//            while (left <= right)
//            {
//                swap(s[left], s[right]);
//
//
//                left++;
//                right--;
//            }
//
//            slow = ++fast;
//        }
//
//
//        return s;
//    }
//};

class Solution {
public:
    string addStrings(string num1, string num2) {
        int end1 = num1.size() - 1, end2 = num2.size() - 1;
        string ret;


        int flag = 0;
        while (end1 >= 0 || end2 >= 0)
        {
            int s1 = 0, s2 = 0;


            if (end1 >= 0)
                s1 = num1[end1--] - '0';
            if (end2 >= 0)
                s2 = num2[end2--] - '0';


            int sum = s1 + s2 + flag;
            ret += sum % 10 + '0';


            flag = sum / 10;
        }


        if (flag != 0)
            ret += flag + '0';


        reverse(ret.begin(), ret.end());


        return ret;
    }
};

